package com.zhh.dataservice.mapper;

import com.zhh.api.model.ProductInfo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public interface ProductInfoMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(ProductInfo record);

    int insertSelective(ProductInfo record);

    int updateByPrimaryKeySelective(ProductInfo record);

    int updateByPrimaryKey(ProductInfo record);

    //收益平均值
    BigDecimal selectAvgRate();

    //分页查询某种产品的详细信息
    List<ProductInfo> selectByTypeLimit(@Param("ptype") Integer pType,
                                        @Param("offset") Integer offset,
                                        @Param("rows") Integer rows);

    //某种产品的总数
    Integer selectCountByType(@Param("ptype") Integer pType);

    //查询某种产品的详细信息
    ProductInfo selectByPrimaryKey(Integer id);

    Integer selectTypeById(@Param("id") Integer id);

    //扣除产品剩余可投资金额
    int updateLeftProductMoney(@Param("id") Integer productId, @Param("money") BigDecimal money);

    //更新产品为满标
    int updateSelled(@Param("id") Integer productId);

    //找到昨天一天中到期的产品
    List<ProductInfo> selectFullTimeProduct(@Param("beginDate") Date beginDate, @Param("endDate") Date endDate);

    //更新产品状态
    int updateStatus(@Param("id") Integer id, @Param("newStatus") int newStatus);
}